package avicit.bdp.dds.dao.upgrade;

import avicit.bdp.dds.common.utils.ConnectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.Map;

public class WorkerGroupDao {

    public static final Logger logger = LoggerFactory.getLogger(WorkerGroupDao.class);

    /**
     * query all old worker group
     * @param conn jdbc connection
     * @return old worker group Map
     */
    public Map<Integer,String> queryAllOldWorkerGroup(Connection conn){
        Map<Integer,String> workerGroupMap = new HashMap<>();

        String sql = String.format("select id,name from t_ds_worker_group");
        ResultSet rs = null;
        PreparedStatement pstmt = null;
        try {
            pstmt = conn.prepareStatement(sql);
            rs = pstmt.executeQuery();

            while (rs.next()){
                int id = rs.getInt(1);
                String name = rs.getString(2);
                workerGroupMap.put(id,name);
            }

        } catch (Exception e) {
            logger.error(e.getMessage(),e);
            throw new RuntimeException("sql: " + sql, e);
        } finally {
            ConnectionUtils.releaseResource(rs, pstmt, conn);
        }

        return workerGroupMap;
    }
}
